<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>AbstractSimplex (Apache Commons Math 3.6.1 API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="AbstractSimplex (Apache Commons Math 3.6.1 API)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AbstractSimplex.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></em></div>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev Class</li>
<li><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/BOBYQAOptimizer.html" title="class in org.apache.commons.math3.optim.nonlinear.scalar.noderiv"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../../index.html?org/apache/commons/math3/optim/nonlinear/scalar/noderiv/AbstractSimplex.html" target="_top">Frames</a></li>
<li><a href="AbstractSimplex.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.commons.math3.optim.nonlinear.scalar.noderiv</div>
<h2 title="Class AbstractSimplex" class="title">Class AbstractSimplex</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.commons.math3.optim.nonlinear.scalar.noderiv.AbstractSimplex</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../../../../org/apache/commons/math3/optim/OptimizationData.html" title="interface in org.apache.commons.math3.optim">OptimizationData</a></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/MultiDirectionalSimplex.html" title="class in org.apache.commons.math3.optim.nonlinear.scalar.noderiv">MultiDirectionalSimplex</a>, <a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/NelderMeadSimplex.html" title="class in org.apache.commons.math3.optim.nonlinear.scalar.noderiv">NelderMeadSimplex</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="strong">AbstractSimplex</span>
extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../../../../../org/apache/commons/math3/optim/OptimizationData.html" title="interface in org.apache.commons.math3.optim">OptimizationData</a></pre>
<div class="block">This class implements the simplex concept.
 It is intended to be used in conjunction with <a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/SimplexOptimizer.html" title="class in org.apache.commons.math3.optim.nonlinear.scalar.noderiv"><code>SimplexOptimizer</code></a>.
 <br/>
 The initial configuration of the simplex is set by the constructors
 <a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/AbstractSimplex.html#AbstractSimplex(double[])"><code>AbstractSimplex(double[])</code></a> or <a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/AbstractSimplex.html#AbstractSimplex(double[][])"><code>AbstractSimplex(double[][])</code></a>.
 The other <a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/AbstractSimplex.html#AbstractSimplex(int)"><code>constructor</code></a> will set all steps
 to 1, thus building a default configuration from a unit hypercube.
 <br/>
 Users <em>must</em> call the <a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/AbstractSimplex.html#build(double[])"><code>build</code></a> method in order
 to create the data structure that will be acted on by the other methods of
 this class.</div>
<dl><dt><span class="strong">Since:</span></dt>
  <dd>3.0</dd>
<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/SimplexOptimizer.html" title="class in org.apache.commons.math3.optim.nonlinear.scalar.noderiv"><code>SimplexOptimizer</code></a></dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colLast" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><strong><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/AbstractSimplex.html#AbstractSimplex(double[])">AbstractSimplex</a></strong>(double[]&nbsp;steps)</code>
<div class="block">The start configuration for simplex is built from a box parallel to
 the canonical axes of the space.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><strong><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/AbstractSimplex.html#AbstractSimplex(double[][])">AbstractSimplex</a></strong>(double[][]&nbsp;referenceSimplex)</code>
<div class="block">The real initial simplex will be set up by moving the reference
 simplex such that its first point is located at the start point of the
 optimization.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><strong><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/AbstractSimplex.html#AbstractSimplex(int)">AbstractSimplex</a></strong>(int&nbsp;n)</code>
<div class="block">Build a unit hypercube simplex.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><strong><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/AbstractSimplex.html#AbstractSimplex(int,%20double)">AbstractSimplex</a></strong>(int&nbsp;n,
               double&nbsp;sideLength)</code>
<div class="block">Build a hypercube simplex with the given side length.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/AbstractSimplex.html#build(double[])">build</a></strong>(double[]&nbsp;startPoint)</code>
<div class="block">Build an initial simplex.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/AbstractSimplex.html#evaluate(org.apache.commons.math3.analysis.MultivariateFunction,%20java.util.Comparator)">evaluate</a></strong>(<a href="../../../../../../../../org/apache/commons/math3/analysis/MultivariateFunction.html" title="interface in org.apache.commons.math3.analysis">MultivariateFunction</a>&nbsp;evaluationFunction,
        <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;<a href="../../../../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a>&gt;&nbsp;comparator)</code>
<div class="block">Evaluate all the non-evaluated points of the simplex.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/AbstractSimplex.html#getDimension()">getDimension</a></strong>()</code>
<div class="block">Get simplex dimension.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/AbstractSimplex.html#getPoint(int)">getPoint</a></strong>(int&nbsp;index)</code>
<div class="block">Get the simplex point stored at the requested <code>index</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a>[]</code></td>
<td class="colLast"><code><strong><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/AbstractSimplex.html#getPoints()">getPoints</a></strong>()</code>
<div class="block">Get the points of the simplex.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/AbstractSimplex.html#getSize()">getSize</a></strong>()</code>
<div class="block">Get simplex size.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/AbstractSimplex.html#iterate(org.apache.commons.math3.analysis.MultivariateFunction,%20java.util.Comparator)">iterate</a></strong>(<a href="../../../../../../../../org/apache/commons/math3/analysis/MultivariateFunction.html" title="interface in org.apache.commons.math3.analysis">MultivariateFunction</a>&nbsp;evaluationFunction,
       <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;<a href="../../../../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a>&gt;&nbsp;comparator)</code>
<div class="block">Compute the next simplex of the algorithm.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/AbstractSimplex.html#replaceWorstPoint(org.apache.commons.math3.optim.PointValuePair,%20java.util.Comparator)">replaceWorstPoint</a></strong>(<a href="../../../../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a>&nbsp;pointValuePair,
                 <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;<a href="../../../../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a>&gt;&nbsp;comparator)</code>
<div class="block">Replace the worst point of the simplex by a new point.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/AbstractSimplex.html#setPoint(int,%20org.apache.commons.math3.optim.PointValuePair)">setPoint</a></strong>(int&nbsp;index,
        <a href="../../../../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a>&nbsp;point)</code>
<div class="block">Store a new point at location <code>index</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/AbstractSimplex.html#setPoints(org.apache.commons.math3.optim.PointValuePair[])">setPoints</a></strong>(<a href="../../../../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a>[]&nbsp;points)</code>
<div class="block">Replace all points.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="AbstractSimplex(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>AbstractSimplex</h4>
<pre>protected&nbsp;AbstractSimplex(int&nbsp;n)</pre>
<div class="block">Build a unit hypercube simplex.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>n</code> - Dimension of the simplex.</dd></dl>
</li>
</ul>
<a name="AbstractSimplex(int, double)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>AbstractSimplex</h4>
<pre>protected&nbsp;AbstractSimplex(int&nbsp;n,
               double&nbsp;sideLength)</pre>
<div class="block">Build a hypercube simplex with the given side length.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>n</code> - Dimension of the simplex.</dd><dd><code>sideLength</code> - Length of the sides of the hypercube.</dd></dl>
</li>
</ul>
<a name="AbstractSimplex(double[])">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>AbstractSimplex</h4>
<pre>protected&nbsp;AbstractSimplex(double[]&nbsp;steps)</pre>
<div class="block">The start configuration for simplex is built from a box parallel to
 the canonical axes of the space. The simplex is the subset of vertices
 of a box parallel to the canonical axes. It is built as the path followed
 while traveling from one vertex of the box to the diagonally opposite
 vertex moving only along the box edges. The first vertex of the box will
 be located at the start point of the optimization.
 As an example, in dimension 3 a simplex has 4 vertices. Setting the
 steps to (1, 10, 2) and the start point to (1, 1, 1) would imply the
 start simplex would be: { (1, 1, 1), (2, 1, 1), (2, 11, 1), (2, 11, 3) }.
 The first vertex would be set to the start point at (1, 1, 1) and the
 last vertex would be set to the diagonally opposite vertex at (2, 11, 3).</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>steps</code> - Steps along the canonical axes representing box edges. They
 may be negative but not zero.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../../../../org/apache/commons/math3/exception/NullArgumentException.html" title="class in org.apache.commons.math3.exception">NullArgumentException</a></code> - if <code>steps</code> is <code>null</code>.</dd>
<dd><code><a href="../../../../../../../../org/apache/commons/math3/exception/ZeroException.html" title="class in org.apache.commons.math3.exception">ZeroException</a></code> - if one of the steps is zero.</dd></dl>
</li>
</ul>
<a name="AbstractSimplex(double[][])">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>AbstractSimplex</h4>
<pre>protected&nbsp;AbstractSimplex(double[][]&nbsp;referenceSimplex)</pre>
<div class="block">The real initial simplex will be set up by moving the reference
 simplex such that its first point is located at the start point of the
 optimization.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>referenceSimplex</code> - Reference simplex.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../../../../org/apache/commons/math3/exception/NotStrictlyPositiveException.html" title="class in org.apache.commons.math3.exception">NotStrictlyPositiveException</a></code> - if the reference simplex does not
 contain at least one point.</dd>
<dd><code><a href="../../../../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</a></code> - if there is a dimension mismatch
 in the reference simplex.</dd>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if one of its vertices is duplicated.</dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getDimension()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDimension</h4>
<pre>public&nbsp;int&nbsp;getDimension()</pre>
<div class="block">Get simplex dimension.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the dimension of the simplex.</dd></dl>
</li>
</ul>
<a name="getSize()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSize</h4>
<pre>public&nbsp;int&nbsp;getSize()</pre>
<div class="block">Get simplex size.
 After calling the <a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/AbstractSimplex.html#build(double[])"><code>build</code></a> method, this method will
 will be equivalent to <code>getDimension() + 1</code>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the size of the simplex.</dd></dl>
</li>
</ul>
<a name="iterate(org.apache.commons.math3.analysis.MultivariateFunction, java.util.Comparator)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>iterate</h4>
<pre>public abstract&nbsp;void&nbsp;iterate(<a href="../../../../../../../../org/apache/commons/math3/analysis/MultivariateFunction.html" title="interface in org.apache.commons.math3.analysis">MultivariateFunction</a>&nbsp;evaluationFunction,
           <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;<a href="../../../../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a>&gt;&nbsp;comparator)</pre>
<div class="block">Compute the next simplex of the algorithm.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>evaluationFunction</code> - Evaluation function.</dd><dd><code>comparator</code> - Comparator to use to sort simplex vertices from best
 to worst.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../../../../org/apache/commons/math3/exception/TooManyEvaluationsException.html" title="class in org.apache.commons.math3.exception">TooManyEvaluationsException</a></code> - if the algorithm fails to converge.</dd></dl>
</li>
</ul>
<a name="build(double[])">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>build</h4>
<pre>public&nbsp;void&nbsp;build(double[]&nbsp;startPoint)</pre>
<div class="block">Build an initial simplex.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>startPoint</code> - First point of the simplex.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</a></code> - if the start point does not match
 simplex dimension.</dd></dl>
</li>
</ul>
<a name="evaluate(org.apache.commons.math3.analysis.MultivariateFunction, java.util.Comparator)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>evaluate</h4>
<pre>public&nbsp;void&nbsp;evaluate(<a href="../../../../../../../../org/apache/commons/math3/analysis/MultivariateFunction.html" title="interface in org.apache.commons.math3.analysis">MultivariateFunction</a>&nbsp;evaluationFunction,
            <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;<a href="../../../../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a>&gt;&nbsp;comparator)</pre>
<div class="block">Evaluate all the non-evaluated points of the simplex.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>evaluationFunction</code> - Evaluation function.</dd><dd><code>comparator</code> - Comparator to use to sort simplex vertices from best to worst.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../../../../org/apache/commons/math3/exception/TooManyEvaluationsException.html" title="class in org.apache.commons.math3.exception">TooManyEvaluationsException</a></code> - if the maximal number of evaluations is exceeded.</dd></dl>
</li>
</ul>
<a name="replaceWorstPoint(org.apache.commons.math3.optim.PointValuePair, java.util.Comparator)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>replaceWorstPoint</h4>
<pre>protected&nbsp;void&nbsp;replaceWorstPoint(<a href="../../../../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a>&nbsp;pointValuePair,
                     <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;<a href="../../../../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a>&gt;&nbsp;comparator)</pre>
<div class="block">Replace the worst point of the simplex by a new point.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>pointValuePair</code> - Point to insert.</dd><dd><code>comparator</code> - Comparator to use for sorting the simplex vertices
 from best to worst.</dd></dl>
</li>
</ul>
<a name="getPoints()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPoints</h4>
<pre>public&nbsp;<a href="../../../../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a>[]&nbsp;getPoints()</pre>
<div class="block">Get the points of the simplex.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>all the simplex points.</dd></dl>
</li>
</ul>
<a name="getPoint(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPoint</h4>
<pre>public&nbsp;<a href="../../../../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a>&nbsp;getPoint(int&nbsp;index)</pre>
<div class="block">Get the simplex point stored at the requested <code>index</code>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>index</code> - Location.</dd>
<dt><span class="strong">Returns:</span></dt><dd>the point at location <code>index</code>.</dd></dl>
</li>
</ul>
<a name="setPoint(int, org.apache.commons.math3.optim.PointValuePair)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPoint</h4>
<pre>protected&nbsp;void&nbsp;setPoint(int&nbsp;index,
            <a href="../../../../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a>&nbsp;point)</pre>
<div class="block">Store a new point at location <code>index</code>.
 Note that no deep-copy of <code>point</code> is performed.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>index</code> - Location.</dd><dd><code>point</code> - New value.</dd></dl>
</li>
</ul>
<a name="setPoints(org.apache.commons.math3.optim.PointValuePair[])">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>setPoints</h4>
<pre>protected&nbsp;void&nbsp;setPoints(<a href="../../../../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a>[]&nbsp;points)</pre>
<div class="block">Replace all points.
 Note that no deep-copy of <code>points</code> is performed.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>points</code> - New Points.</dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AbstractSimplex.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></em></div>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev Class</li>
<li><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/BOBYQAOptimizer.html" title="class in org.apache.commons.math3.optim.nonlinear.scalar.noderiv"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../../index.html?org/apache/commons/math3/optim/nonlinear/scalar/noderiv/AbstractSimplex.html" target="_top">Frames</a></li>
<li><a href="AbstractSimplex.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2003&#x2013;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>
